<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, height=device-height, initial-scale=1, user-scalable=no">
  <meta name="description" content="API docs for the updateNode method from the SemanticsUpdateBuilder class, for the Dart programming language.">
  <title>updateNode method - SemanticsUpdateBuilder class - dart:ui library - Dart API</title>
  <!-- required because all the links are pseudo-absolute -->
  <base href="../..">

  <link href="https://fonts.googleapis.com/css?family=Source+Code+Pro:500,400i,400,300|Source+Sans+Pro:400,300,700" rel="stylesheet">
  <link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
  <link rel="stylesheet" href="static-assets/github.css">
  <link rel="stylesheet" href="static-assets/styles.css">
  <link rel="icon" href="static-assets/favicon.png">
  <!-- header placeholder -->
</head>

<body>

<div id="overlay-under-drawer"></div>

<header id="title">
  <button id="sidenav-left-toggle" type="button">&nbsp;</button>
  <ol class="breadcrumbs gt-separated dark hidden-xs">
    <li><a href="index.html">flutter_form_builder</a></li>
    <li><a href="dart-ui/dart-ui-library.html">dart:ui</a></li>
    <li><a href="dart-ui/SemanticsUpdateBuilder-class.html">SemanticsUpdateBuilder</a></li>
    <li class="self-crumb">updateNode method</li>
  </ol>
  <div class="self-name">updateNode</div>
  <form class="search navbar-right" role="search">
    <input type="text" id="search-box" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
  </form>
</header>

<main>

  <div id="dartdoc-sidebar-left" class="col-xs-6 col-sm-3 col-md-2 sidebar sidebar-offcanvas-left">
    <header id="header-search-sidebar" class="hidden-l">
      <form class="search-sidebar" role="search">
        <input type="text" id="search-sidebar" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
      </form>
    </header>
    
    <ol class="breadcrumbs gt-separated dark hidden-l" id="sidebar-nav">
      <li><a href="index.html">flutter_form_builder</a></li>
      <li><a href="dart-ui/dart-ui-library.html">dart:ui</a></li>
      <li><a href="dart-ui/SemanticsUpdateBuilder-class.html">SemanticsUpdateBuilder</a></li>
      <li class="self-crumb">updateNode method</li>
    </ol>
    
    <h5>SemanticsUpdateBuilder class</h5>
    <ol>
    
        <li class="section-title"><a href="dart-ui/SemanticsUpdateBuilder-class.html#constructors">Constructors</a></li>
        <li><a href="dart-ui/SemanticsUpdateBuilder/SemanticsUpdateBuilder.html">SemanticsUpdateBuilder</a></li>
    
        <li class="section-title inherited">
            <a href="dart-ui/SemanticsUpdateBuilder-class.html#instance-properties">Properties</a>
        </li>
        <li class="inherited"><a href="dart-core/Object/hashCode.html">hashCode</a></li>
        <li class="inherited"><a href="dart-core/Object/runtimeType.html">runtimeType</a></li>
    
        <li class="section-title"><a href="dart-ui/SemanticsUpdateBuilder-class.html#instance-methods">Methods</a></li>
        <li><a href="dart-ui/SemanticsUpdateBuilder/build.html">build</a></li>
        <li><a href="dart-ui/SemanticsUpdateBuilder/updateCustomAction.html">updateCustomAction</a></li>
        <li><a href="dart-ui/SemanticsUpdateBuilder/updateNode.html">updateNode</a></li>
        <li class="inherited"><a href="dart-core/Object/noSuchMethod.html">noSuchMethod</a></li>
        <li class="inherited"><a href="dart-core/Object/toString.html">toString</a></li>
    
        <li class="section-title inherited"><a href="dart-ui/SemanticsUpdateBuilder-class.html#operators">Operators</a></li>
        <li class="inherited"><a href="dart-core/Object/operator_equals.html">operator ==</a></li>
    
    
    
    
    
    </ol>
  </div><!--/.sidebar-offcanvas-->

  <div id="dartdoc-main-content" class="col-xs-12 col-sm-9 col-md-8 main-content">
      <div><h1><span class="kind-method">updateNode</span> method</h1></div>

    <section class="multi-line-signature">
      <span class="returntype">void</span>
            <span class="name ">updateNode</span>
(<wbr>{<span class="parameter" id="updateNode-param-id"><span class="type-annotation"><a href="dart-core/int-class.html">int</a></span> <span class="parameter-name">id</span>, </span> <span class="parameter" id="updateNode-param-flags"><span class="type-annotation"><a href="dart-core/int-class.html">int</a></span> <span class="parameter-name">flags</span>, </span> <span class="parameter" id="updateNode-param-actions"><span class="type-annotation"><a href="dart-core/int-class.html">int</a></span> <span class="parameter-name">actions</span>, </span> <span class="parameter" id="updateNode-param-maxValueLength"><span class="type-annotation"><a href="dart-core/int-class.html">int</a></span> <span class="parameter-name">maxValueLength</span>, </span> <span class="parameter" id="updateNode-param-currentValueLength"><span class="type-annotation"><a href="dart-core/int-class.html">int</a></span> <span class="parameter-name">currentValueLength</span>, </span> <span class="parameter" id="updateNode-param-textSelectionBase"><span class="type-annotation"><a href="dart-core/int-class.html">int</a></span> <span class="parameter-name">textSelectionBase</span>, </span> <span class="parameter" id="updateNode-param-textSelectionExtent"><span class="type-annotation"><a href="dart-core/int-class.html">int</a></span> <span class="parameter-name">textSelectionExtent</span>, </span> <span class="parameter" id="updateNode-param-platformViewId"><span class="type-annotation"><a href="dart-core/int-class.html">int</a></span> <span class="parameter-name">platformViewId</span>, </span> <span class="parameter" id="updateNode-param-scrollChildren"><span class="type-annotation"><a href="dart-core/int-class.html">int</a></span> <span class="parameter-name">scrollChildren</span>, </span> <span class="parameter" id="updateNode-param-scrollIndex"><span class="type-annotation"><a href="dart-core/int-class.html">int</a></span> <span class="parameter-name">scrollIndex</span>, </span> <span class="parameter" id="updateNode-param-scrollPosition"><span class="type-annotation"><a href="dart-core/double-class.html">double</a></span> <span class="parameter-name">scrollPosition</span>, </span> <span class="parameter" id="updateNode-param-scrollExtentMax"><span class="type-annotation"><a href="dart-core/double-class.html">double</a></span> <span class="parameter-name">scrollExtentMax</span>, </span> <span class="parameter" id="updateNode-param-scrollExtentMin"><span class="type-annotation"><a href="dart-core/double-class.html">double</a></span> <span class="parameter-name">scrollExtentMin</span>, </span> <span class="parameter" id="updateNode-param-elevation"><span class="type-annotation"><a href="dart-core/double-class.html">double</a></span> <span class="parameter-name">elevation</span>, </span> <span class="parameter" id="updateNode-param-thickness"><span class="type-annotation"><a href="dart-core/double-class.html">double</a></span> <span class="parameter-name">thickness</span>, </span> <span class="parameter" id="updateNode-param-rect"><span class="type-annotation"><a href="dart-ui/Rect-class.html">Rect</a></span> <span class="parameter-name">rect</span>, </span> <span class="parameter" id="updateNode-param-label"><span class="type-annotation"><a href="dart-core/String-class.html">String</a></span> <span class="parameter-name">label</span>, </span> <span class="parameter" id="updateNode-param-hint"><span class="type-annotation"><a href="dart-core/String-class.html">String</a></span> <span class="parameter-name">hint</span>, </span> <span class="parameter" id="updateNode-param-value"><span class="type-annotation"><a href="dart-core/String-class.html">String</a></span> <span class="parameter-name">value</span>, </span> <span class="parameter" id="updateNode-param-increasedValue"><span class="type-annotation"><a href="dart-core/String-class.html">String</a></span> <span class="parameter-name">increasedValue</span>, </span> <span class="parameter" id="updateNode-param-decreasedValue"><span class="type-annotation"><a href="dart-core/String-class.html">String</a></span> <span class="parameter-name">decreasedValue</span>, </span> <span class="parameter" id="updateNode-param-textDirection"><span class="type-annotation"><a href="dart-ui/TextDirection-class.html">TextDirection</a></span> <span class="parameter-name">textDirection</span>, </span> <span class="parameter" id="updateNode-param-transform"><span class="type-annotation"><a href="dart-typed_data/Float64List-class.html">Float64List</a></span> <span class="parameter-name">transform</span>, </span> <span class="parameter" id="updateNode-param-childrenInTraversalOrder"><span class="type-annotation"><a href="dart-typed_data/Int32List-class.html">Int32List</a></span> <span class="parameter-name">childrenInTraversalOrder</span></span> <span class="parameter" id="updateNode-param-childrenInHitTestOrder"><span class="type-annotation"><a href="dart-typed_data/Int32List-class.html">Int32List</a></span> <span class="parameter-name">childrenInHitTestOrder</span></span> <span class="parameter" id="updateNode-param-additionalActions"><span class="type-annotation"><a href="dart-typed_data/Int32List-class.html">Int32List</a></span> <span class="parameter-name">additionalActions</span></span> })
      
    </section>
    <section class="desc markdown">
      <p>Update the information associated with the node with the given <code>id</code>.</p>
<p>The semantics nodes form a tree, with the root of the tree always having
an id of zero. The <code>childrenInTraversalOrder</code> and <code>childrenInHitTestOrder</code>
are the ids of the nodes that are immediate children of this node. The
former enumerates children in traversal order, and the latter enumerates
the same children in the hit test order. The two lists must have the same
length and contain the same ids. They may only differ in the order the
ids are listed in. For more information about different child orders, see
<code>DebugSemanticsDumpOrder</code>.</p>
<p>The system retains the nodes that are currently reachable from the root.
A given update need not contain information for nodes that do not change
in the update. If a node is not reachable from the root after an update,
the node will be discarded from the tree.</p>
<p>The <code>flags</code> are a bit field of <a href="dart-ui/SemanticsFlag-class.html">SemanticsFlag</a>s that apply to this node.</p>
<p>The <code>actions</code> are a bit field of <a href="dart-ui/SemanticsAction-class.html">SemanticsAction</a>s that can be undertaken
by this node. If the user wishes to undertake one of these actions on this
node, the <a href="dart-ui/Window/onSemanticsAction.html">Window.onSemanticsAction</a> will be called with <code>id</code> and one of
the possible <a href="dart-ui/SemanticsAction-class.html">SemanticsAction</a>s. Because the semantics tree is maintained
asynchronously, the <a href="dart-ui/Window/onSemanticsAction.html">Window.onSemanticsAction</a> callback might be called
with an action that is no longer possible.</p>
<p>The <code>label</code> is a string that describes this node. The <code>value</code> property
describes the current value of the node as a string. The <code>increasedValue</code>
string will become the <code>value</code> string after a <a href="dart-ui/SemanticsAction/increase-constant.html">SemanticsAction.increase</a>
action is performed. The <code>decreasedValue</code> string will become the <code>value</code>
string after a <a href="dart-ui/SemanticsAction/decrease-constant.html">SemanticsAction.decrease</a> action is performed. The <code>hint</code>
string describes what result an action performed on this node has. The
reading direction of all these strings is given by <code>textDirection</code>.</p>
<p>The fields <code>textSelectionBase</code> and <code>textSelectionExtent</code> describe the
currently selected text within <code>value</code>.</p>
<p>The field <code>maxValueLength</code> is used to indicate that an editable text field
has a limit on the number of characters entered. If it is -1 there is
no limit on the number of characters entered. The field
<code>currentValueLength</code> indicates how much of that limit has already been
used up. When <code>maxValueLength</code> is set, <code>currentValueLength</code> must also be
set.</p>
<p>The field <code>platformViewId</code> references the platform view, whose semantics
nodes will be added as children to this node. If a platform view is
specified, <code>childrenInHitTestOrder</code> and <code>childrenInTraversalOrder</code> must be
empty.</p>
<p>For scrollable nodes <code>scrollPosition</code> describes the current scroll
position in logical pixel. <code>scrollExtentMax</code> and <code>scrollExtentMin</code>
describe the maximum and minimum in-rage values that <code>scrollPosition</code> can
be. Both or either may be infinity to indicate unbound scrolling. The
value for <code>scrollPosition</code> can (temporarily) be outside this range, for
example during an overscroll. <code>scrollChildren</code> is the count of the
total number of child nodes that contribute semantics and <code>scrollIndex</code>
is the index of the first visible child node that contributes semantics.</p>
<p>The <code>rect</code> is the region occupied by this node in its own coordinate
system.</p>
<p>The <code>transform</code> is a matrix that maps this node's coordinate system into
its parent's coordinate system.</p>
<p>The <code>elevation</code> describes the distance in z-direction between this node
and the <code>elevation</code> of the parent.</p>
<p>The <code>thickness</code> describes how much space this node occupies in the
z-direction starting at <code>elevation</code>. Basically, in the z-direction the
node starts at <code>elevation</code> above the parent and ends at <code>elevation</code> +
<code>thickness</code> above the parent.</p>
    </section>
    
    <section class="summary source-code" id="source">
      <h2><span>Implementation</span></h2>
      <pre class="language-dart"><code class="language-dart">void updateNode({
  int id,
  int flags,
  int actions,
  int maxValueLength,
  int currentValueLength,
  int textSelectionBase,
  int textSelectionExtent,
  int platformViewId,
  int scrollChildren,
  int scrollIndex,
  double scrollPosition,
  double scrollExtentMax,
  double scrollExtentMin,
  double elevation,
  double thickness,
  Rect rect,
  String label,
  String hint,
  String value,
  String increasedValue,
  String decreasedValue,
  TextDirection textDirection,
  Float64List transform,
  Int32List childrenInTraversalOrder,
  Int32List childrenInHitTestOrder,
  Int32List additionalActions,
}) {
  assert(_matrix4IsValid(transform));
  assert(
    scrollChildren == 0 || scrollChildren == null || (scrollChildren &gt; 0 &amp;&amp; childrenInHitTestOrder != null),
    &#39;If a node has scrollChildren, it must have childrenInHitTestOrder&#39;,
  );
  _updateNode(
    id,
    flags,
    actions,
    maxValueLength,
    currentValueLength,
    textSelectionBase,
    textSelectionExtent,
    platformViewId,
    scrollChildren,
    scrollIndex,
    scrollPosition,
    scrollExtentMax,
    scrollExtentMin,
    rect.left,
    rect.top,
    rect.right,
    rect.bottom,
    elevation,
    thickness,
    label,
    hint,
    value,
    increasedValue,
    decreasedValue,
    textDirection != null ? textDirection.index + 1 : 0,
    transform,
    childrenInTraversalOrder,
    childrenInHitTestOrder,
    additionalActions,
  );
}</code></pre>
    </section>

  </div> <!-- /.main-content -->

  <div id="dartdoc-sidebar-right" class="col-xs-6 col-sm-6 col-md-2 sidebar sidebar-offcanvas-right">
  </div><!--/.sidebar-offcanvas-->

</main>

<footer>
  <span class="no-break">
    flutter_form_builder
      3.8.2
  </span>

  <!-- footer-text placeholder -->
</footer>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script src="static-assets/typeahead.bundle.min.js"></script>
<script src="static-assets/highlight.pack.js"></script>
<script src="static-assets/URI.js"></script>
<script src="static-assets/script.js"></script>
<!-- footer placeholder -->

</body>

</html>
